home *** CD-ROM | disk | FTP | other *** search
- % Copyright (C) 1999, 2000 Aladdin Enterprises. All rights reserved.
- %
- % This software is licensed to a single customer by Artifex Software Inc.
- % under the terms of a specific OEM agreement.
-
- % $RCSfile: gs_trap.ps,v $ $Revision: 1.4 $
- % PostScript LanguageLevel 3 in-RIP trapping support.
-
- ll3dict begin
-
- % We need LanguageLevel 2 or higher in order to have setuserparams and
- % defineresource.
- languagelevel dup 2 max .setlanguagelevel
-
- % ------ Trapping ------ %
-
- % The PostScript-level trapping parameters are maintained in userdict,
- % and explicitly reinstalled upon restore.
-
- /Trapping mark
-
- /settrapparams dup { % <paramdict> settrapparams -
- /.trapparams .uservar dup length dict .copydict
- dup 2 index {
- % Stack: paramdict olddict olddict key value
- 2 index 2 index known { put dup } { pop pop } ifelse
- } forall pop
- dup .settrapparams % Let the operator check parameter validity.
- .userdict /.trapparams 3 -1 roll put pop
- } bind .makeoperator
-
- /.copyparams { % <obj> .copyparams <obj'>
- dup type /dicttype eq {
- dup length dict .copydict
- dup {
- .copyparams 3 copy put pop pop
- } forall
- } {
- dup type /arraytype eq {
- [ exch { .copyparams } forall ]
- } if
- } ifelse
- } odef
-
- /currenttrapparams dup { % - currenttrapparams <paramdict>
- /.trapparams .uservar .copyparams
- } bind .makeoperator
-
- /settrapzone dup { % - settrapzone -
- % ****** DUMMY ******
- newpath
- } bind .makeoperator
-
- % Define initial (dummy) trapping parameters.
- % These values are mostly complete guesses.
- userdict /.trapparams mark
- /BlackColorLimit 1.0
- /BlackDensityLimit 1.0
- /BlackWidth 1.0
- /ColorantZoneDetails 0 dict
- /Enabled true
- /HalftoneName null
- /ImageInternalTrapping false
- /ImagemaskTrapping true
- /ImageResolution 1
- /ImageToObjectTrapping true
- /ImageTrapPlacement /Center
- /SlidingTrapLimit 1.0
- /StepLimit 1.0
- /TrapColorScaling 0.0
- /TrapSetName null
- /TrapWidth 1.0
- .dicttomark readonly put
-
- .dicttomark /ProcSet defineresource pop
-
- % Define the InkParams and TrapParams resource categories.
- { /InkParams /TrapParams } {
- /Generic /Category findresource dup maxlength 3 add dict .copydict begin
- /InstanceType /dicttype def
- currentdict end /Category defineresource pop
- } forall
-
- % Define the TrappingType resource category.
- /Generic /Category findresource dup maxlength 3 add dict .copydict begin
- /InstanceType /integertype def
- /TrappingType currentdict end /Category defineresource pop
-
- {1001} { dup /TrappingType defineresource pop } forall
-
- .setlanguagelevel
-
- end % ll3dict
-